#ifndef _ERR_H_
#define _ERR_H_


#ifdef __cplusplus
extern "C"
{
#endif


/* ----------BIOS ERROR CODES (FOR REFERENCE ONLY!) -----------
 * IOM Status and Error Codes
 * #define IOM_COMPLETED 		SYS_OK 	// I/O successful
 * #define IOM_PENDING 			1 		// I/O queued and pending
 * #define IOM_FLUSHED 			2 		// I/O request flushed
 * #define IOM_ABORTED 			3 		// I/O aborted
 * #define IOM_EBADIO 			-1 		// generic failure
 * #define IOM_ETIMEOUT 		-2 		// timeout occurred
 * #define IOM_ENOPACKETS 		-3 		// no packets available
 * #define IOM_EFREE 			-4 		// unable to free resources
 * #define IOM_EALLOC 			-5 		// unable to alloc resource
 * #define IOM_EABORT 			-6 		// I/O aborted uncompleted
 * #define IOM_EBADMODE 		-7 		// illegal device mode
 * #define IOM_EOF 				-8 		// end-of-file encountered
 * #define IOM_ENOTIMPL 		-9 		// operation not supported
 * #define IOM_EBADARGS 		-10 	// illegal arguments used
 * #define IOM_ETIMEOUTUNREC 	-11 	// unrecoverable timeout occurred
 * #define IOM_EINUSE 			-12 	// device already in use
 */

//General
#define IO_VALIDATED_ERR				-20		//Validation Error: values do not match
#define IO_ERROR						-21		//General Error
#define IO_TIMEOUT_ERR					-22		//TIME OUT
#define IO_PENDING_ERR					-23		//IO is pending
#define IO_LCK_FAIL						-24		//lock/unlock fail]
#define IO_RESET_ERR					-25		//reset error
#define INVALID_ID						-26		//Invalid ID
#define INVALID_CMD						-27
#define INVALID_ARG						-28


//HMC5883L
#define INVAILD_IDA	  					-11
#define INVAILD_IDB	  					-12
#define INVAILD_IDC	  					-13

//ITG3205
#define SET_ITG3200_RA_SMPLRT_DIV_FAIL	-14
#define SET_ITG3200_RA_DLPF_FS_FAIL		-15
#define SET_ITG3200_RA_INT_CFG_FAIL		-16
#define SET_ITG3200_RA_PWR_MGM_FAIL		-17

#ifdef __cplusplus
}
#endif /* extern "C" */


#endif
